#ifndef CANASTA_H
#define	CANASTA_H

#include "Utilidad.h"
#include "Huevo.h"
#include "Posicion.h"
#include "Excepcion.h"
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace TP;
using namespace TP::Juego::Arena::Actores;
using namespace TP::Juego::Motorizacion::Fisica;

namespace TP { namespace Juego { namespace Arena { namespace Utilidades {
    
class Canasta : public Utilidad {
    
public:
    
    Canasta();
    
    virtual ~Canasta();
    
    Huevo* getHuevo ();
    
    Posicion* setPosicionAtaque(Posicion* pPosicion) throw (Excepcion&);
    
    Posicion* getPosicionAtaque();
    
    /* Devuelve un puntero a una copia de la utilidad, creado con new */
    virtual Utilidad* clonar();
    
    virtual double getRadio();
    
    virtual int getPuntosDestruccion();    
    
    virtual TiXmlElement* aElementoXML ();
    
    virtual void deElementoXML (TiXmlElement* pElemento);      

private:
    Posicion* _posicionAtaque;
    int _seed;
};
}}}}

#endif	/* CANASTA_H */